Skip to content

test(missions): synchronize compact-form fixture reads and publication - #1407

Open
pascalandr wants to merge 6 commits into
devfrom
fix/tauri-lock-windows-edges
Open

pascalandr wants to merge 6 commits into
devfrom
fix/tauri-lock-windows-edges

Conversation

@pascalandr

@pascalandr pascalandr commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Remaining Missions test corrections

#1305 merged the Cargo graph repair, build-order expectation and native-help receipt fix while this PR was being qualified. This branch now preserves those changes, including its existing manifest-unit loader, and contains only five Missions test/fixture corrections.

  • Supply a valid depth response for the compact form rather than the generic empty JSON fallback.
  • Interact with directly visible Playbook/depth controls, retaining native aim/click geometry and exactly-once assertions.
  • Observe exact catalog response-body completions before project discovery and before Create can invalidate the owner. Cached model text is retained as a presentation check, not a readiness receipt.
  • Retire the saved fixture editor synchronously before its display fetch, matching the real MissionControl owner.
  • Await the partial Pause/Stop result's owning row publication before continuing to the next action.

No production source, dependency, assertion, deadline or failed-request filter changes. No forced click, sleep or retry.

Evidence

  • Six controlled catalog/lifecycle cases fail on the previous test and pass with the correction, covering either completion order and the late display-fetch race.
  • A held recurrence read proves the partial-result helper previously returned before publication.
  • Fresh current-dev source with the exact lock-matched dependency tree: 46/46 targeted tests pass, independently run with Node 24.22.2 and headless Chromium.
  • New full CI required on this conflict-free combination. The historical macOS pruning load timeout remains unexplained; its disappearance on one run is not a root-cause explanation.

The current workspace lockfile references windows-sys 0.60.2 in muda, socket2, tray-icon, uds_windows and window-vibrancy, but contains no package record for that version. Cargo validates the whole lock graph before filtering by target, so both Linux and macOS reject it with --locked. The inconsistent edges entered dev with the WebKit preview merge and are independent of the npm dependency catch-up.

Point only these five edges at the already-locked windows-sys 0.61.2, which every parent's declared range accepts. No package versions, sources, checksums, other dependency edges or vendored patch selections change. Retain all --locked gates.

The original reproduces the refusal with a fresh private Cargo cache. Corrected cargo metadata --locked --offline succeeds with macOS ARM64, Linux x64 and Windows x64 target filters; six existing vendor tests pass. Independent byte comparison confirms exactly five substitutions, and the three locked metadata checks were independently reproduced. Native compilation remains for CI.
The corrected Cargo graph passes all five native Tauri jobs, but the baseline still fails its build-order contract and contextual-help browser test. Require the already-present WebKit job in the exact build dependency assertion; this is the same hunk carried by #1305. Await the third native help-opening receipt before the existing URL assertion; this is the one-line correction from #1410.

Keep every production change confined to the five already-reviewed lock edges. No assertion is removed, no deadline changes, and the helper opening must complete before its destination is checked. Merge current dev, which also contains the WebKit fixture-wiring correction. The independent recurrence-Pause flake is still under investigation; a green rerun is not its explanation.
@pascalandr pascalandr changed the title fix(tauri): resolve five dangling Windows lockfile edges fix(tauri): repair the lockfile and baseline CI test contracts Nov 9, 2026
…tinuing

Failure-time CI evidence shows Daily's Pause disabled at pointer-down and pointer-up with no click, after the other row's partial Pause. The helper awaited local unconfirmed feedback, but that result also starts a row refresh; its loading guard can disable actions between Playwright's actionability check and pointer delivery.

Wait for the owning row to publish Paused or Stopped before advancing the next test action. Keep every existing assertion, deadline and retry unchanged; no forced click or product change. A held read proves the original helper returned too early, while the corrected helper waits for publication. The 22 targeted browser tests pass, independently rerun on Node 24.22.2.
…fixtures

The baseline restore-ownership command now imports a browser-only icon through the core Status manifest. Keep that factory dependent only on its existing renderer inputs: its UI owner supplies the real info-tip renderer, alongside the existing body and summary renderers. This preserves help destinations and locale handling without stubbing the icon or adding a test loader.

Align three browser fixtures with the merged compact Missions form: serve the required valid depth response, interact with directly visible controls instead of the removed Options disclosure, and await the rendered coordinator-model catalog before Create disposes its readers. Keep the strict cancellation collector and every ownership, no-replay, geometry and destination assertion.

The full restore-ownership command passes 657 tests locally. Independently repeated manifest/registry tests pass 12/12, and the combined headless Missions/help run passes 47/47 on Node 24.22.2. A held catalog reproduces the original failed-request mismatch and passes after the readiness check. Reused Solid differs by a patch from the lockfile; exact dependency qualification remains for CI. The macOS pruning navigation timeout remains separately unresolved.
@pascalandr pascalandr changed the title fix(tauri): repair the lockfile and baseline CI test contracts fix(ci): repair the Cargo graph and current test contracts Nov 9, 2026
@pascalandr

Copy link
Copy Markdown
Contributor Author

Latest full CI (42557941616, head dce6c8e) has one failure: mission-creation-start still records aborted agent/model GETs before its expected lost Play POST. The rendered-model wait is therefore insufficient; request ownership and the exact cancellation stage are being reproduced before another change. Every other job passed, including all native Tauri checks and macOS pruning on this attempt. No merge clearance is claimed, and no failed-request filtering or timeout change is planned.

…owner

The strict failed-request collector retained cancellations from project discovery, not just Create. A later remembered model option could not prove that either the initial or replacement catalog reader had completed. Separately, the test fixture awaited its display fetch before retiring the saved editor, allowing another catalog read that production MissionControl never starts.

Passively retain exact request-finished receipts during navigation, consume the initial wave after fixture load, and immediately own the discovery wave with Promise.all around its trigger. Close the fixture editor synchronously before its display fetch, matching the real UI owner. Keep the existing assertions, cancellation collector and default navigation/action bounds unchanged; no forced clicks, sleeps or failed-request filters.

All six controlled original-head failure scenarios pass with the correction, including either agent/model completion order and late display reads. Seven targeted tests pass with exact Node 24.22.2/npm 11.19.1/Solid 1.9.18 dependencies, independently repeated. Virtual-clock controls confirm navigation is not shortened by prematurely armed action timeouts.
@pascalandr

Copy link
Copy Markdown
Contributor Author

The final failed creation case is now reproduced and corrected, not retried unchanged. Initial agent/model reads could be aborted during project discovery, while the retained model option later appeared ready; the fixture could also restart reads while awaiting its onSaved display fetch. The updated test observes both catalog waves through exact body-completion receipts and retires the fixture editor synchronously like MissionControl. Six controlled before/after cases reproduce and clear both mechanisms; final targeted tests 7/7 independently repeated on the exact pinned graph. No failed-request filtering, assertion weakening or timeout increase. Full CI is required for the new head.

#1305 already supplies the Cargo graph repair, build-order contract, native-help receipt synchronization and manifest-test compatibility. Keep its implementation and controlled tests rather than overwriting them with alternative fixes from this branch. The resulting diff against dev contains only five Missions test/fixture files.

Retain the proven catalog-wave receipts, synchronous editor retirement, partial-result publication wait and compact-form fixture corrections. All 46 targeted tests pass on a fresh current-dev source snapshot with the exact lock-matched dependencies and Node 24.22.2. No assertion, deadline, retry or failed-request filtering changes. Full CI must run on this new combination; no force push.
@pascalandr pascalandr changed the title fix(ci): repair the Cargo graph and current test contracts test(missions): synchronize compact-form fixture reads and publication Nov 9, 2026
@pascalandr

Copy link
Copy Markdown
Contributor Author

All test jobs passed on head 3dca8f9. The only failure is the new Linux WebKit job bundling AppImage: the linuxdeploy-x86_64.AppImage download from tauri-apps/binary-releases returned HTTP 504. A direct probe of that exact URL now returns HTTP 200. Rerunning only failed jobs; no code, assertion or deadline change. The new WebKit job is also missing the existing Tauri cache restore steps, which will be wired separately.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant